package com.ruoyi.web.controller.order.service;

import com.ruoyi.common.entity.DO.order.MemberRechargeOrderDO;
import com.ruoyi.common.entity.DO.order.ShopCreditOrderDO;
import com.ruoyi.common.entity.VO.member.MemberGetCreditProductVO;
import com.ruoyi.common.entity.VO.order.*;

import java.util.List;

public interface IBackOrderService {

    List<ShopOrderVO> searchList(ShopOrderSearchVO shopOrderSearchVO);

    List<MemberRechargeOrderVO> searchRechargeList(ShopOrderSearchVO shopOrderSearchVO);

    List<ShopPetrolOrderVO> searchPetrolList(ShopOrderSearchVO shopOrderSearchVO);

    List<ShopCreditOrderVO> searchCreditList(ShopOrderSearchVO shopOrderSearchVO);

    List<ShopOrderExportVO> searchShopOrderExportList(ShopOrderSearchVO shopOrderSearchVO);

    List<OrderExportVO> searchOrderExportList(ShopOrderSearchVO shopOrderSearchVO);

    ShopOrderVO getDetailByOrderSn(String orderSn);

    ShopCreditOrderDO getDetailByExchangeCode(String exchangeCode);

    void handleCreditExchange(String exchangeCode);

    int update(ShopOrderVO shopOrderVO);

    String rechargeCancel(String orderSn);

    String petrolCancel(String orderSn);

    /**
     * 批量赠送礼品给多个会员
     *
     * @param memberGetCreditProductVO
     */
    void sendToMember(MemberGetCreditProductVO memberGetCreditProductVO);

    void rechargeHandle(MemberRechargeOrderDO memberRechargeOrderDO);

}
